import { request } from "../../request/index.js"

Page({

    /**
     * 页面的初始数据
     */
    data: {
        //左侧菜单数据
        leftMenuList: [],
        //右侧商品数据
        rightContent: [],
        //被点击的菜单
        scrollTop: 0,
        currentIndex: 0
    },
    cates: [],
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        // 获取本地存储的数据
        const Cates = wx.getStorageSync("cates");
        // 判断
        if (!Cates) {
            // 不存在
            this.getCates();
        } else {
            //有旧数据 定义过期时间 5分钟
            if (Date.now() - Cates.time > 1000 * 60 * 5) {
                //发送新请求
                this.getCates();
            } else {
                // 拿旧数据
                this.cates = Cates.data;
                let leftMenuList = this.cates.map(v => v.cat_name);
                let rightContent = this.cates[0].children;
                this.setData({
                    leftMenuList,
                    rightContent
                })
            }
        }
    },
    //获取分类数据
    async getCates() {
        // 使用es7 的 async 和 await
        const res = await request({ url: "/categories" })
        this.cates = res;
        //保存到本地
        wx.setStorageSync("cates", { time: Date.now(), data: this.cates });
        //构造左侧大菜单数据
        let leftMenuList = this.cates.map(v => v.cat_name);
        //构造右侧商品数据
        let rightContent = this.cates[0].children;
        this.setData({
            leftMenuList,
            rightContent
        })
    },
    // 左侧菜单点击事件
    handleItemTap(e) {
        const { index } = e.currentTarget.dataset;
        let rightContent = this.cates[index].children;
        this.setData({
            currentIndex: index,
            rightContent,
            // 到顶
            scrollTop: 0
        })

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})